From cfe7b384bc7892267d21385e3bc6a47577cbe3ce Mon Sep 17 00:00:00 2001 From: Morten Welinder Date: Mon, 19 Apr 2004 19:52:45 +0000 Subject: [PATCH] Don't leak list of children. (#140523) 2004-04-19 Morten Welinder * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of children. (#140523) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtktoolbar.c | 18 +++++++++++------- 6 files changed, 36 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index e79f1c674f..7836c18b93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-04-19 Morten Welinder + + * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of + children. (#140523) + 2004-04-19 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e79f1c674f..7836c18b93 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2004-04-19 Morten Welinder + + * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of + children. (#140523) + 2004-04-19 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index e79f1c674f..7836c18b93 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2004-04-19 Morten Welinder + + * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of + children. (#140523) + 2004-04-19 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index e79f1c674f..7836c18b93 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2004-04-19 Morten Welinder + + * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of + children. (#140523) + 2004-04-19 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index e79f1c674f..7836c18b93 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2004-04-19 Morten Welinder + + * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of + children. (#140523) + 2004-04-19 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 56dd4ca495..6bc61aa413 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -1743,7 +1743,8 @@ gtk_toolbar_focus (GtkWidget *widget, { GtkToolbar *toolbar = GTK_TOOLBAR (widget); GList *children, *list; - + gboolean result = FALSE; + /* if focus is already somewhere inside the toolbar then return FALSE. * The only way focus can stay inside the toolbar is when the user presses * arrow keys or Ctrl TAB (both of which are handled by the @@ -1751,20 +1752,23 @@ gtk_toolbar_focus (GtkWidget *widget, */ if (GTK_CONTAINER (widget)->focus_child) return FALSE; - + children = gtk_toolbar_list_children_in_focus_order (toolbar, dir); - + for (list = children; list != NULL; list = list->next) { GtkWidget *child = list->data; if (GTK_WIDGET_MAPPED (child) && gtk_widget_child_focus (child, dir)) - return TRUE; + { + result = TRUE; + break; + } } - + g_list_free (children); - - return FALSE; + + return result; } static void -- 2.30.2